Skip to content

feat: Support 8 byte colors + non-linearity in hash#466

Merged
abelonogov-ld merged 7 commits intomainfrom
andrey/fix-frames
Apr 13, 2026
Merged

feat: Support 8 byte colors + non-linearity in hash#466
abelonogov-ld merged 7 commits intomainfrom
andrey/fix-frames

Conversation

@abelonogov-ld
Copy link
Copy Markdown
Contributor

@abelonogov-ld abelonogov-ld commented Apr 13, 2026

Summary

  • Support 8 byte color
  • Add multiplication to fast hashing to achieve non-linearity
  • Compensate slow down but deeper optimization (performance stays the same)
  • remove benchmake code and benchmark screenshots from repository

Note

Medium Risk
Moderate risk because TileSignatureManager now returns null when the JNI library isn’t present, which can disable tiled diffing/session replay in environments without session_replay_c. Also adjusts keyframe selection logic for OverlayTiles, which could affect replay fidelity/size.

Overview
Session replay tile hashing is now native-only. TileSignatureManager drops the Kotlin fallback/overloads and returns null unless the session_replay_c JNI library is available.

Tiled diff keyframe selection is adjusted. TileDiffManager changes OverlayTiles logic to treat layers <= 0 as always-keyframe and to prioritize periodic keyframes before falling back to “whole-screen diff” detection.

Benchmark and parity test code removed from the e2e app. Deletes the Compose BenchmarkActivity/executor/assets, removes its launcher UI/manifest entry, removes the benchmark serialization dependency, and deletes an Android instrumentation test that validated native/Kotlin hash parity.

Reviewed by Cursor Bugbot for commit 9ee51d2. Bugbot is set up for automated code reviews on this repo. Configure here.

@abelonogov-ld abelonogov-ld requested a review from a team as a code owner April 13, 2026 17:12
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 14bec57. Configure here.

@abelonogov-ld abelonogov-ld merged commit 934d09a into main Apr 13, 2026
25 checks passed
@abelonogov-ld abelonogov-ld deleted the andrey/fix-frames branch April 13, 2026 18:29
abelonogov-ld pushed a commit that referenced this pull request Apr 13, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>launchdarkly-observability-android: 0.38.0</summary>

##
[0.38.0](launchdarkly-observability-android-0.37.0...launchdarkly-observability-android-0.38.0)
(2026-04-13)


### Features

* Support 8 byte colors + non-linearity in hash
([#466](#466))
([934d09a](934d09a))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk release bookkeeping only: version bumps and changelog updates
with no functional code changes in this diff.
> 
> **Overview**
> Bumps `sdk/@launchdarkly/observability-android` from `0.37.0` to
`0.38.0` in the release manifest and Android `gradle.properties`.
> 
> Updates the Android package changelog to include the `0.38.0` release
notes (support for 8-byte colors and non-linearity in hashing).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
c8eaf8f. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
abelonogov-ld added a commit that referenced this pull request Apr 14, 2026
* main:
  chore: release main (#467)
  feat: Support 8 byte colors + non-linearity in hash (#466)
  chore: release main (#465)
  feat: Tracing API polishing + Distributed tracing Docs (#464)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants